﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 桌面相关
{
    public partial class 拖动2 : Form
    {
        public 拖动2()
        {
            InitializeComponent();
            // 必须设置 AllowDrop 为 true
            this.AllowDrop = true;

            // 确认事件绑定正确
            this.DragEnter += MainForm_DragEnter;
            this.DragDrop += MainForm_DragDrop;

            // 可选：在调试输出中确认事件绑定
            Debug.WriteLine("拖放事件已绑定");
        }
        private void MainForm_DragEnter(object sender, DragEventArgs e)
        {
            // 调试输出，确认事件触发
            Debug.WriteLine("DragEnter 事件触发");

            // 检查是否是文件拖放操作
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                // 必须设置 Effect 才能允许拖放
                e.Effect = DragDropEffects.Copy;

                // 调试输出确认
                Debug.WriteLine("允许文件拖放");
            }
            else
            {
                e.Effect = DragDropEffects.None;
                Debug.WriteLine("非文件拖放，已禁止");
            }

            // 可选：查看所有可用的数据格式
            var formats = e.Data.GetFormats();

            Debug.WriteLine("可用数据格式: " + string.Join(", ", formats));
        }
        private void MainForm_DragDrop(object sender, DragEventArgs e)
        {
            Debug.WriteLine("DragDrop 事件触发");

            try
            {
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                    string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);

                    foreach (string file in files)
                    {
                        Debug.WriteLine("拖入的文件: " + file);
                        // 在这里处理文件
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("拖放处理错误: " + ex.Message);
            }
        }
        private void 拖动2_Load(object sender, EventArgs e)
        {

        }
    }
}
